]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
gtkactionmuxer: Add activation method with custom platform data
authorSebastian Keller <skeller@gnome.org>
Wed, 11 Feb 2026 15:53:02 +0000 (16:53 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Sun, 13 Sep 2026 17:39:10 +0000 (19:39 +0200)
This will be used to call the new-window action with the proper
activation token, which is not possible to pass through via the
GActionGroup interface.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4071>
(cherry picked from commit 50180d2d9d13bcffc3e5eb7dc4bf66495eb5bc21)

src/gtkactionmuxer.c
src/gtkactionmuxer.h

index c361d6084cac4cc32a50e13a35231a711386dd26..994d29de8b86f533e854cfeede4598439993e884 100644 (file)
@@ -917,6 +917,30 @@ gtk_action_muxer_get_primary_accel (GtkActionMuxer *muxer,
   return gtk_action_muxer_get_primary_accel (muxer->parent, action_and_target);
 }
 
+void
+gtk_action_muxer_activate_action_full (GtkActionMuxer *muxer,
+                                       const gchar    *action_name,
+                                       GVariant       *parameter,
+                                       GVariant       *platform_data)
+{
+  Group *group;
+  const gchar *unprefixed_name;
+
+  group = gtk_action_muxer_find_group (muxer, action_name, &unprefixed_name);
+
+  if (group)
+    {
+      if (G_IS_REMOTE_ACTION_GROUP (group->group))
+        g_remote_action_group_activate_action_full (G_REMOTE_ACTION_GROUP (group->group),
+                                                    unprefixed_name, parameter,
+                                                    platform_data);
+      else
+        g_action_group_activate_action (group->group, unprefixed_name, parameter);
+    }
+  else if (muxer->parent)
+    g_action_group_activate_action (G_ACTION_GROUP (muxer->parent), action_name, parameter);
+}
+
 gchar *
 gtk_print_action_and_target (const gchar *action_namespace,
                              const gchar *action_name,
index 8e9dfeccaa19ea9dcc060e4a79a584edea5b13af..07505809cf13761ef600463e60117e8d2c990fc6 100644 (file)
@@ -53,6 +53,11 @@ void                    gtk_action_muxer_set_primary_accel              (GtkActi
 const gchar *           gtk_action_muxer_get_primary_accel              (GtkActionMuxer *muxer,
                                                                          const gchar    *action_and_target);
 
+void                    gtk_action_muxer_activate_action_full           (GtkActionMuxer *muxer,
+                                                                         const gchar    *action_name,
+                                                                         GVariant       *parameter,
+                                                                         GVariant       *platform_data);
+
 /* No better place for this... */
 gchar *                 gtk_print_action_and_target                     (const gchar    *action_namespace,
                                                                          const gchar    *action_name,